// Copyright (c) 2015-2017 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

/**
 * Functionality for communicating with Tor.
 *
 *
作为增加比特币点对点网络隐私性和安全性的方法，有两种解决方案可以提供通信加密：通过BIP-150/151的Tor传输和P2P认证和加密。
Tor网络传输
Tor代表洋葱路由网络The Onion Routing network，是一个软件项目和网络，通过提供匿名，不可追踪和隐私的随机网络路径实现数据的加密和封装。
Bitcoin Core提供了多种配置选项，允许运行通过Tor网络传输流量的比特币节点。此外，Bitcoin Core还可以提供Tor隐藏服务，允许其他Tor节点通过Tor网络直接连接到您的节点。
从Bitcoin Core版本0.12开始，如果能够连接到本地Tor服务，节点将自动提供隐藏的Tor服务。如果您安装Tor并且运行Bitcoin Core进程账户具有足够权限的用户访问Tor的认证cookie，那么就能自动运行。使用debug标志打开Bitcoin Core对于Tor服务的调试
$ bitcoind --daemon --debug=tor
#在日志中看到“tor：ADD_ONION success”，表示Bitcoin Core已经向Tor网络添加了隐藏的服务。
 */
#ifndef BITCOIN_TORCONTROL_H
#define BITCOIN_TORCONTROL_H

#include <scheduler.h>

extern const std::string DEFAULT_TOR_CONTROL;
static const bool DEFAULT_LISTEN_ONION = true;

void StartTorControl(boost::thread_group& threadGroup, CScheduler& scheduler);
void InterruptTorControl();
void StopTorControl();

#endif /* BITCOIN_TORCONTROL_H */
